package main

import "fmt"

type Users struct {
	id int
	name string
}

func (u *Users) Test() {
	fmt.Printf("%p,%v\n", u, u)
}

func main() {
	u1:=User{"golang","golang@golang.com"}
	u1.Notify()
	u2:=User{"go","golang@golang.com"}
	u3:=&u2
	u3.Notify()

	t1:=T{1}
	t1.test()

	us1:=Users{1,"Tom"}
	us1.Test()
	mValue := us1.Test
	mValue()
	mExpression:=(*Users).Test
	mExpression(&us1)

	var x interface{}
	x="pprof.cn"
	v,ok:=x.(string)
	if ok{
		fmt.Println(v)
	} else {
		fmt.Printf("failed")
	}


}
